package com.designPattern.flyweight;

/**
 * 【享元模式】
 * 【解决问题】在某一些资源会频繁的创建和销毁，这样会造成资源的浪费和时间的浪费
 * 【解决方案】在一个“池”中先创建一定数量的该种资源，用链表或其他数据结构进行统一管理
 * 就不需要在使用的时候反复创建该类资源了
 * "享"-->共享
 * 【源码】在Integer中用到了享元模式,-128~127的数据都是“共享的”
 * 数据库连接池 和 线程池等相关的池技术应该都是用到了享元模式
 */
public class Client {
    public static void main(String[] args) throws CouldNotGetConnectionException {
        //创建池
        ConnectionPool connectionPool = new ConnectionPool();
        //在池中获取连接
        Connection connection = connectionPool.getConnection();
       //打印连接信息
        connection.connectionInfo();
        //关闭连接
        connectionPool.closeConnection(connection);

    }
}
